diff options
Diffstat (limited to 'app/[lng]/evcp/(evcp)/budgetary-rfq/[id]/layout.tsx')
| -rw-r--r-- | app/[lng]/evcp/(evcp)/budgetary-rfq/[id]/layout.tsx | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/app/[lng]/evcp/(evcp)/budgetary-rfq/[id]/layout.tsx b/app/[lng]/evcp/(evcp)/budgetary-rfq/[id]/layout.tsx index 39f045e5..ba7c071c 100644 --- a/app/[lng]/evcp/(evcp)/budgetary-rfq/[id]/layout.tsx +++ b/app/[lng]/evcp/(evcp)/budgetary-rfq/[id]/layout.tsx @@ -1,11 +1,13 @@ import { Metadata } from "next" +import Link from "next/link" +import { ArrowLeft } from "lucide-react" import { Separator } from "@/components/ui/separator" import { SidebarNav } from "@/components/layout/sidebar-nav" -import { findVendorById } from "@/lib/vendors/service" // 가정: 여기에 findVendorById가 있다고 가정 -import { Rfq, RfqWithItems } from "@/db/schema/rfq" +import { RfqViewWithItems } from "@/db/schema/rfq" import { findRfqById } from "@/lib/rfqs/service" import { formatDate } from "@/lib/utils" +import { Button } from "@/components/ui/button" export const metadata: Metadata = { title: "Vendor Detail", @@ -25,8 +27,8 @@ export default async function RfqLayout({ const id = resolvedParams.id const idAsNumber = Number(id) - // 2) DB에서 해당 벤더 정보 조회 - const rfq: RfqWithItems | null = await findRfqById(idAsNumber) + // 2) DB에서 해당 협력업체 정보 조회 + const rfq: RfqViewWithItems | null = await findRfqById(idAsNumber) // 3) 사이드바 메뉴 const sidebarNavItems = [ @@ -50,27 +52,35 @@ export default async function RfqLayout({ <div className="container py-6"> <section className="overflow-hidden rounded-[0.5rem] border bg-background shadow"> <div className="hidden space-y-6 p-10 pb-16 md:block"> + <div className="flex items-center justify-end mb-4"> + <Link href={`/${lng}/evcp/budgetary-rfq`} passHref> + <Button variant="ghost" className="flex items-center text-primary hover:text-primary/80 transition-colors p-0 h-auto"> + <ArrowLeft className="mr-1 h-4 w-4" /> + <span>Budgetary RFQ 목록으로 돌아가기</span> + </Button> + </Link> + </div> <div className="space-y-0.5"> - {/* 4) 벤더 정보가 있으면 코드 + 이름 + "상세 정보" 표기 */} + {/* 4) 협력업체 정보가 있으면 코드 + 이름 + "상세 정보" 표기 */} <h2 className="text-2xl font-bold tracking-tight"> {rfq - ? `${rfq.rfqCode ?? ""} 관리` + ? `${rfq.projectCode ?? ""} ${rfq.rfqCode ?? ""} 관리` : "Loading RFQ..."} </h2> - + <p className="text-muted-foreground"> {rfq ? `${rfq.description ?? ""} ${rfq.lines.map(line => line.itemCode).join(", ")}` : ""} </p> - <h3>Due Date:{ rfq && <strong>{formatDate(rfq?.dueDate)}</strong>}</h3> + <h3>Due Date:{rfq && rfq?.dueDate && <strong>{formatDate(rfq?.dueDate)}</strong>}</h3> </div> <Separator className="my-6" /> <div className="flex flex-col space-y-8 lg:flex-row lg:space-x-12 lg:space-y-0"> - <aside className="-mx-4 lg:w-1/6"> + <aside className="lg:w-64 flex-shrink-0"> <SidebarNav items={sidebarNavItems} /> </aside> - <div className="flex-1">{children}</div> + <div className="lg:w-[calc(100%-16rem)] overflow-auto">{children}</div> </div> </div> </section> |
